Use gtk_get_default_language
authorHavoc Pennington <hp@redhat.com>
Wed, 21 Jun 2000 20:41:15 +0000 (20:41 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Wed, 21 Jun 2000 20:41:15 +0000 (20:41 +0000)
2000-06-21  Havoc Pennington  <hp@redhat.com>

* gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
gtk_get_default_language

* gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language):
new function to get the default language

* gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c:
s/gtk_text_view_style_values/gtk_text_style_values/

* gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
Add a "language" field to tags.

(gtk_text_tag_set_arg): Fix bug in setting
"bg_full_height_set" tag.

15 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmain.c
gtk/gtkmain.h
gtk/gtktextlayout.c
gtk/gtktexttag.c
gtk/gtktexttag.h
gtk/gtktexttagprivate.h
gtk/gtktextview.c
gtk/gtkwidget.c

index f33f1c3e38abd7e83766bc6750a4f9dfef0c9ede..64fa7f684b4b58198829d8f6ef864c6cf329daf0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2000-06-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
+       gtk_get_default_language
+
+       * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
+       new function to get the default language
+
+       * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
+       s/gtk_text_view_style_values/gtk_text_style_values/
+
+       * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
+       Add a "language" field to tags.
+
+       (gtk_text_tag_set_arg): Fix bug in setting
+       "bg_full_height_set" tag.
+
 2000-06-21  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
index f33f1c3e38abd7e83766bc6750a4f9dfef0c9ede..64fa7f684b4b58198829d8f6ef864c6cf329daf0 100644 (file)
@@ -1,3 +1,20 @@
+2000-06-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
+       gtk_get_default_language
+
+       * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
+       new function to get the default language
+
+       * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
+       s/gtk_text_view_style_values/gtk_text_style_values/
+
+       * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
+       Add a "language" field to tags.
+
+       (gtk_text_tag_set_arg): Fix bug in setting
+       "bg_full_height_set" tag.
+
 2000-06-21  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
index f33f1c3e38abd7e83766bc6750a4f9dfef0c9ede..64fa7f684b4b58198829d8f6ef864c6cf329daf0 100644 (file)
@@ -1,3 +1,20 @@
+2000-06-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
+       gtk_get_default_language
+
+       * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
+       new function to get the default language
+
+       * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
+       s/gtk_text_view_style_values/gtk_text_style_values/
+
+       * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
+       Add a "language" field to tags.
+
+       (gtk_text_tag_set_arg): Fix bug in setting
+       "bg_full_height_set" tag.
+
 2000-06-21  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
index f33f1c3e38abd7e83766bc6750a4f9dfef0c9ede..64fa7f684b4b58198829d8f6ef864c6cf329daf0 100644 (file)
@@ -1,3 +1,20 @@
+2000-06-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
+       gtk_get_default_language
+
+       * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
+       new function to get the default language
+
+       * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
+       s/gtk_text_view_style_values/gtk_text_style_values/
+
+       * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
+       Add a "language" field to tags.
+
+       (gtk_text_tag_set_arg): Fix bug in setting
+       "bg_full_height_set" tag.
+
 2000-06-21  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
index f33f1c3e38abd7e83766bc6750a4f9dfef0c9ede..64fa7f684b4b58198829d8f6ef864c6cf329daf0 100644 (file)
@@ -1,3 +1,20 @@
+2000-06-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
+       gtk_get_default_language
+
+       * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
+       new function to get the default language
+
+       * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
+       s/gtk_text_view_style_values/gtk_text_style_values/
+
+       * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
+       Add a "language" field to tags.
+
+       (gtk_text_tag_set_arg): Fix bug in setting
+       "bg_full_height_set" tag.
+
 2000-06-21  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
index f33f1c3e38abd7e83766bc6750a4f9dfef0c9ede..64fa7f684b4b58198829d8f6ef864c6cf329daf0 100644 (file)
@@ -1,3 +1,20 @@
+2000-06-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
+       gtk_get_default_language
+
+       * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
+       new function to get the default language
+
+       * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
+       s/gtk_text_view_style_values/gtk_text_style_values/
+
+       * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
+       Add a "language" field to tags.
+
+       (gtk_text_tag_set_arg): Fix bug in setting
+       "bg_full_height_set" tag.
+
 2000-06-21  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
index f33f1c3e38abd7e83766bc6750a4f9dfef0c9ede..64fa7f684b4b58198829d8f6ef864c6cf329daf0 100644 (file)
@@ -1,3 +1,20 @@
+2000-06-21  Havoc Pennington  <hp@redhat.com>
+
+       * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
+       gtk_get_default_language
+
+       * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
+       new function to get the default language
+
+       * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
+       s/gtk_text_view_style_values/gtk_text_style_values/
+
+       * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
+       Add a "language" field to tags.
+
+       (gtk_text_tag_set_arg): Fix bug in setting
+       "bg_full_height_set" tag.
+
 2000-06-21  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
index a30676274ee48137b2c1a0cd3282e3b28c15c11b..6446776888e1aa86b67dc648d9ed8d6f65ce6a09 100644 (file)
@@ -487,6 +487,23 @@ gtk_set_locale (void)
   return gdk_set_locale ();
 }
 
+gchar*
+gtk_get_default_language (void)
+{
+  gchar *lang;
+  gchar *p;
+  
+  lang = g_strdup (setlocale (LC_CTYPE, NULL));
+  p = strchr (lang, '.');
+  if (p)
+    *p = '\0';
+  p = strchr (lang, '@');
+  if (p)
+    *p = '\0';
+
+  return lang;
+}
+
 void
 gtk_main (void)
 {
index 9668fbda66180510309a9a3c185fd96ff2a478d7..fb262c77889bcbb2f3194d284c40aae63678405f 100644 (file)
@@ -78,13 +78,17 @@ gchar* gtk_check_version (guint     required_major,
 
 /* Initialization, exit, mainloop and miscellaneous routines
  */
-void      gtk_init              (int          *argc,
-                                 char       ***argv);
-gboolean   gtk_init_check        (int         *argc,
-                                 char       ***argv);
-void      gtk_exit              (gint          error_code);
-gchar*    gtk_set_locale        (void);
-gint      gtk_events_pending    (void);
+
+void     gtk_init                 (int    *argc,
+                                   char ***argv);
+gboolean gtk_init_check           (int    *argc,
+                                   char ***argv);
+void     gtk_exit                 (gint    error_code);
+gchar*   gtk_set_locale           (void);
+gchar*   gtk_get_default_language (void);
+gint     gtk_events_pending       (void);
+
+
 
 /* The following is the event func GTK+ registers with GDK
  * we expose it mainly to allow filtering of events between
index 82a8e83c57212650c7d30154bf59d70c0d563880..b4dd559fb1d04bbcaee4fac978dbbeb8f74d234e 100644 (file)
@@ -189,7 +189,7 @@ free_style_cache (GtkTextLayout *text_layout)
 {
   if (text_layout->one_style_cache)
     {
-      gtk_text_view_style_values_unref (text_layout->one_style_cache);
+      gtk_text_style_values_unref (text_layout->one_style_cache);
       text_layout->one_style_cache = NULL;
     }
 }
@@ -204,7 +204,7 @@ gtk_text_layout_destroy (GtkObject *object)
   gtk_text_layout_set_buffer (layout, NULL);  
 
   if (layout->default_style)
-    gtk_text_view_style_values_unref (layout->default_style);
+    gtk_text_style_values_unref (layout->default_style);
   layout->default_style = NULL;
 
   if (layout->ltr_context)
@@ -280,10 +280,10 @@ gtk_text_layout_set_default_style (GtkTextLayout *layout,
   if (values == layout->default_style)
     return;
 
-  gtk_text_view_style_values_ref (values);
+  gtk_text_style_values_ref (values);
   
   if (layout->default_style)
-    gtk_text_view_style_values_unref (layout->default_style);
+    gtk_text_style_values_unref (layout->default_style);
 
   layout->default_style = values;
 
@@ -784,7 +784,7 @@ get_style (GtkTextLayout *layout,
   */
   if (layout->one_style_cache != NULL)
     {
-      gtk_text_view_style_values_ref (layout->one_style_cache);
+      gtk_text_style_values_ref (layout->one_style_cache);
       return layout->one_style_cache;
     }
 
@@ -798,8 +798,8 @@ get_style (GtkTextLayout *layout,
     {
       /* One ref for the return value, one ref for the
          layout->one_style_cache reference */
-      gtk_text_view_style_values_ref (layout->default_style);
-      gtk_text_view_style_values_ref (layout->default_style);
+      gtk_text_style_values_ref (layout->default_style);
+      gtk_text_style_values_ref (layout->default_style);
       layout->one_style_cache = layout->default_style;
 
       if (tags)
@@ -811,14 +811,14 @@ get_style (GtkTextLayout *layout,
   /* Sort tags in ascending order of priority */
   gtk_text_tag_array_sort (tags, tag_count);
   
-  style = gtk_text_view_style_values_new ();
+  style = gtk_text_style_values_new ();
   
-  gtk_text_view_style_values_copy (layout->default_style,
-                                  style);
+  gtk_text_style_values_copy (layout->default_style,
+                              style);
 
-  gtk_text_view_style_values_fill_from_tags (style,
-                                            tags,
-                                            tag_count);
+  gtk_text_style_values_fill_from_tags (style,
+                                        tags,
+                                        tag_count);
 
   g_free (tags);
 
@@ -826,7 +826,7 @@ get_style (GtkTextLayout *layout,
 
   /* Leave this style as the last one seen */
   g_assert (layout->one_style_cache == NULL);
-  gtk_text_view_style_values_ref (style); /* ref held by layout->one_style_cache */
+  gtk_text_style_values_ref (style); /* ref held by layout->one_style_cache */
   layout->one_style_cache = style;
   
   /* Returning yet another refcount */
@@ -840,7 +840,7 @@ release_style (GtkTextLayout *layout,
   g_return_if_fail (style != NULL);
   g_return_if_fail (style->refcount > 0);
 
-  gtk_text_view_style_values_unref (style);
+  gtk_text_style_values_unref (style);
 }
 
 /*
index e7f89a35fba4fd2c72f77d9226478ff0c6a19813..225cd4ef52dec40844f058dc04032eb1ce232e41 100644 (file)
@@ -87,6 +87,7 @@ enum {
   ARG_UNDERLINE,
   ARG_OFFSET,
   ARG_BG_FULL_HEIGHT,
+  ARG_LANGUAGE,
   
   /* Whether-a-style-arg-is-set args */
   ARG_BACKGROUND_SET,
@@ -109,6 +110,7 @@ enum {
   ARG_UNDERLINE_SET,
   ARG_OFFSET_SET,
   ARG_BG_FULL_HEIGHT_SET,
+  ARG_LANGUAGE_SET,
   
   LAST_ARG
 };
@@ -220,7 +222,9 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
                            GTK_ARG_READWRITE, ARG_OFFSET);
   gtk_object_add_arg_type ("GtkTextTag::background_full_height", GTK_TYPE_BOOL,
                            GTK_ARG_READWRITE, ARG_BG_FULL_HEIGHT);
-
+  gtk_object_add_arg_type ("GtkTextTag::language", GTK_TYPE_STRING,
+                           GTK_ARG_READWRITE, ARG_LANGUAGE);
+  
   /* Style args are set or not */
   gtk_object_add_arg_type ("GtkTextTag::background_set", GTK_TYPE_BOOL,
                            GTK_ARG_READWRITE, ARG_BACKGROUND_SET);
@@ -270,6 +274,8 @@ gtk_text_tag_class_init (GtkTextTagClass *klass)
                            GTK_ARG_READWRITE, ARG_OFFSET_SET);  
   gtk_object_add_arg_type ("GtkTextTag::background_full_height_set", GTK_TYPE_BOOL,
                            GTK_ARG_READWRITE, ARG_BG_FULL_HEIGHT_SET);
+  gtk_object_add_arg_type ("GtkTextTag::language_set", GTK_TYPE_BOOL,
+                           GTK_ARG_READWRITE, ARG_LANGUAGE_SET);
   
   signals[EVENT] =
     gtk_signal_new ("event",
@@ -309,7 +315,7 @@ gtk_text_tag_new (const gchar *name)
 
   tag->name = g_strdup(name);
 
-  tag->values = gtk_text_view_style_values_new();
+  tag->values = gtk_text_style_values_new();
   
   return tag;
 }
@@ -328,9 +334,9 @@ gtk_text_tag_destroy (GtkObject *object)
 
   g_assert(tkxt_tag->table == NULL);
   
-  gtk_text_view_style_values_unref(tkxt_tag->values);
+  gtk_text_style_values_unref(tkxt_tag->values);
   tkxt_tag->values = NULL;
-
+  
   (* GTK_OBJECT_CLASS(parent_class)->destroy) (object);
 }
 
@@ -584,6 +590,10 @@ gtk_text_tag_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
       tkxt_tag->values->bg_full_height = GTK_VALUE_BOOL(*arg);
       break;
 
+    case ARG_LANGUAGE:
+      tkxt_tag->language_set = TRUE;
+      tkxt_tag->values->language = g_strdup (GTK_VALUE_STRING(*arg));
+      break;
       
       /* Whether the value should be used... */
       
@@ -668,8 +678,12 @@ gtk_text_tag_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
       break;
 
     case ARG_BG_FULL_HEIGHT_SET:
-      tkxt_tag->bg_full_height_set = TRUE;
-      tkxt_tag->values->bg_full_height = GTK_VALUE_BOOL(*arg);
+      tkxt_tag->bg_full_height_set = GTK_VALUE_BOOL(*arg);
+      break;
+
+    case ARG_LANGUAGE_SET:
+      tkxt_tag->language_set = GTK_VALUE_BOOL(*arg);
+      size_changed = TRUE;
       break;
       
     default:
@@ -796,6 +810,10 @@ gtk_text_tag_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
     case ARG_BG_FULL_HEIGHT:
       GTK_VALUE_BOOL(*arg) = tag->values->bg_full_height;
       break;
+
+    case ARG_LANGUAGE:
+      GTK_VALUE_STRING(*arg) = g_strdup (tag->values->language);
+      break;
       
     case ARG_BACKGROUND_SET:
     case ARG_BACKGROUND_GDK_SET:
@@ -870,6 +888,10 @@ gtk_text_tag_get_arg (GtkObject *object, GtkArg *arg, guint arg_id)
     case ARG_BG_FULL_HEIGHT_SET:
       GTK_VALUE_BOOL(*arg) = tag->bg_full_height_set;
       break;
+
+    case ARG_LANGUAGE_SET:
+      GTK_VALUE_BOOL(*arg) = tag->language_set;
+      break;
       
     case ARG_BACKGROUND:
     case ARG_FOREGROUND:
@@ -1020,7 +1042,7 @@ gtk_text_tag_array_sort(GtkTextTag** tag_array_p,
  */
 
 GtkTextStyleValues*
-gtk_text_view_style_values_new(void)
+gtk_text_style_values_new(void)
 {
   GtkTextStyleValues *values;
 
@@ -1029,13 +1051,15 @@ gtk_text_view_style_values_new(void)
   /* 0 is a valid value for most of the struct */
 
   values->refcount = 1;
+
+  values->language = gtk_get_default_language ();
   
   return values;
 }
 
 void
-gtk_text_view_style_values_copy(GtkTextStyleValues *src,
-                               GtkTextStyleValues *dest)
+gtk_text_style_values_copy(GtkTextStyleValues *src,
+                           GtkTextStyleValues *dest)
 {
   guint orig_refcount;
 
@@ -1072,13 +1096,14 @@ gtk_text_view_style_values_copy(GtkTextStyleValues *src,
   *dest = *src;
 
   dest->font_desc = pango_font_description_copy (src->font_desc);
-
+  dest->language = g_strdup (src->language);
+  
   dest->refcount = orig_refcount;
   dest->realized = FALSE;
 }
 
 void
-gtk_text_view_style_values_ref(GtkTextStyleValues *values)
+gtk_text_style_values_ref(GtkTextStyleValues *values)
 {
   g_return_if_fail(values != NULL);
 
@@ -1086,7 +1111,7 @@ gtk_text_view_style_values_ref(GtkTextStyleValues *values)
 }
 
 void
-gtk_text_view_style_values_unref(GtkTextStyleValues *values)
+gtk_text_style_values_unref(GtkTextStyleValues *values)
 {
   g_return_if_fail(values != NULL);
   g_return_if_fail(values->refcount > 0);
@@ -1108,15 +1133,18 @@ gtk_text_view_style_values_unref(GtkTextStyleValues *values)
 
       if (values->tab_array)
         gtk_text_view_tab_array_unref(values->tab_array);
+
+      if (values->language)
+        g_free (values->language);
       
       g_free(values);
     }
 }
 
 void
-gtk_text_view_style_values_realize(GtkTextStyleValues *values,
-                                  GdkColormap *cmap,
-                                  GdkVisual *visual)
+gtk_text_style_values_realize(GtkTextStyleValues *values,
+                              GdkColormap *cmap,
+                              GdkVisual *visual)
 {
   g_return_if_fail(values != NULL);
   g_return_if_fail(values->refcount > 0);
@@ -1135,9 +1163,9 @@ gtk_text_view_style_values_realize(GtkTextStyleValues *values,
 }
 
 void
-gtk_text_view_style_values_unrealize(GtkTextStyleValues *values,
-                                    GdkColormap *cmap,
-                                    GdkVisual *visual)
+gtk_text_style_values_unrealize(GtkTextStyleValues *values,
+                                GdkColormap *cmap,
+                                GdkVisual *visual)
 {
   g_return_if_fail(values != NULL);
   g_return_if_fail(values->refcount > 0);
@@ -1157,9 +1185,9 @@ gtk_text_view_style_values_unrealize(GtkTextStyleValues *values,
 }
 
 void
-gtk_text_view_style_values_fill_from_tags(GtkTextStyleValues *dest,
-                                         GtkTextTag**        tags,
-                                         guint               n_tags)
+gtk_text_style_values_fill_from_tags(GtkTextStyleValues *dest,
+                                     GtkTextTag**        tags,
+                                     guint               n_tags)
 {
   guint n = 0;
 
@@ -1266,6 +1294,12 @@ gtk_text_view_style_values_fill_from_tags(GtkTextStyleValues *dest,
 
       if (tag->bg_full_height_set)
         dest->bg_full_height = vals->bg_full_height;
+
+      if (tag->language_set)
+        {
+          g_free (dest->language);
+          dest->language = g_strdup (vals->language);
+        }
       
       ++n;
     }
index a21d42bcc1ed7b4a1162e1ac741588ae1f1233dc..6fed3c7d71e35d8ec2a2076b79c105b7f59277a1 100644 (file)
@@ -79,10 +79,10 @@ struct _GtkTextTag {
   guint bg_full_height_set : 1;
   guint elide_set : 1;
   guint editable_set : 1;
+  guint language_set : 1;
   guint pad1 : 1;
   guint pad2 : 1;
   guint pad3 : 1;
-  guint pad4 : 1;
 };
 
 struct _GtkTextTagClass {
index 022299e984a447bc3a0526781c78d5e43d4f0c58..c19ddf27541f5e7b442b32b2678a6014cc2f625f 100644 (file)
@@ -7,11 +7,11 @@
  * the defaults with settings in the given tags, which should be sorted in
  * ascending order of priority
 */
-void gtk_text_view_style_values_fill_from_tags (GtkTextStyleValues  *values,
-                                               GtkTextTag         **tags,
-                                               guint                n_tags);
-void gtk_text_tag_array_sort                   (GtkTextTag         **tag_array_p,
-                                               guint                len);
+void gtk_text_style_values_fill_from_tags (GtkTextStyleValues  *values,
+                                           GtkTextTag         **tags,
+                                           guint                n_tags);
+void gtk_text_tag_array_sort              (GtkTextTag         **tag_array_p,
+                                           guint                len);
 
 /*
  * Style object created by folding a set of tags together
@@ -79,6 +79,8 @@ struct _GtkTextStyleValues
                                 * GTK_WRAPMODE_NONE, GTK_WRAPMODE_WORD
                                  */
 
+  gchar *language;
+  
   /* hide the text  */
   guint elide : 1;
 
@@ -98,20 +100,20 @@ struct _GtkTextStyleValues
   guint pad4 : 1;
 };
 
-GtkTextStyleValues *gtk_text_view_style_values_new       (void);
-void                gtk_text_view_style_values_copy      (GtkTextStyleValues *src,
-                                                         GtkTextStyleValues *dest);
-void                gtk_text_view_style_values_unref     (GtkTextStyleValues *values);
-void                gtk_text_view_style_values_ref       (GtkTextStyleValues *values);
+GtkTextStyleValues *gtk_text_style_values_new       (void);
+void                gtk_text_style_values_copy      (GtkTextStyleValues *src,
+                                                     GtkTextStyleValues *dest);
+void                gtk_text_style_values_unref     (GtkTextStyleValues *values);
+void                gtk_text_style_values_ref       (GtkTextStyleValues *values);
 
 /* ensure colors are allocated, etc. for drawing */
-void                gtk_text_view_style_values_realize   (GtkTextStyleValues *values,
-                                                         GdkColormap        *cmap,
-                                                         GdkVisual          *visual);
+void                gtk_text_style_values_realize   (GtkTextStyleValues *values,
+                                                     GdkColormap        *cmap,
+                                                     GdkVisual          *visual);
 
 /* free the stuff again */
-void                gtk_text_view_style_values_unrealize (GtkTextStyleValues *values,
-                                                         GdkColormap        *cmap,
-                                                         GdkVisual          *visual);
+void                gtk_text_style_values_unrealize (GtkTextStyleValues *values,
+                                                     GdkColormap        *cmap,
+                                                     GdkVisual          *visual);
 
 #endif
index 124f16dbfb71736a495926a9442b3331cf0df7d6..27b71014f05a0eed0e7bfa29605156265885922b 100644 (file)
@@ -2406,7 +2406,7 @@ gtk_text_view_ensure_layout (GtkTextView *text_view)
       g_object_unref (G_OBJECT (ltr_context));
       g_object_unref (G_OBJECT (rtl_context));
 
-      style = gtk_text_view_style_values_new ();
+      style = gtk_text_style_values_new ();
 
       gtk_widget_ensure_style (widget);
       gtk_text_view_set_values_from_style (text_view, style, widget->style);
@@ -2421,7 +2421,7 @@ gtk_text_view_ensure_layout (GtkTextView *text_view)
       
       gtk_text_layout_set_default_style (text_view->layout, style);
       
-      gtk_text_view_style_values_unref (style);
+      gtk_text_style_values_unref (style);
     }
 }
 
index 1e15a26a8cb2f16cafe09dd7dca19ded2c7b6fd2..e67d3297c59958a176027ce298e3c1bd22556329 100644 (file)
@@ -3204,7 +3204,7 @@ PangoContext *
 gtk_widget_create_pango_context (GtkWidget *widget)
 {
   PangoContext *context;
-  char *lang, *p;
+  char *lang;
 
   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
 
@@ -3216,14 +3216,7 @@ gtk_widget_create_pango_context (GtkWidget *widget)
                                PANGO_DIRECTION_LTR : PANGO_DIRECTION_RTL);
   pango_context_set_font_description (context, widget->style->font_desc);
 
-  lang = g_strdup (setlocale (LC_CTYPE, NULL));
-  p = strchr (lang, '.');
-  if (p)
-    *p = '\0';
-  p = strchr (lang, '@');
-  if (p)
-    *p = '\0';
-  
+  lang = gtk_get_default_language ();  
   pango_context_set_lang (context, lang);
   g_free (lang);